package com.smfx.yxt.service;

import java.util.List;

import com.smfx.yxt.model.TeacherInfo;
import com.smfx.yxt.model.TeacherLeave;
import com.smfx.yxt.page.Page;
import com.smfx.yxt.reqVo.TeacherLeaveReqVO;
import com.smfx.yxt.view.TeacherLeaveView;

public interface ITeacherLeaveService {

	int insertSelective(TeacherLeave record);

    TeacherLeave selectByPrimaryKey(Integer id);

    int updateByPrimaryKeySelective(TeacherLeave record);

    List<TeacherLeave> selectListByPage(Page<TeacherLeave> page);
    
    TeacherLeaveView selectViewById(Integer id);
    
    int insert(TeacherLeaveReqVO reqVO);
    
    int updateAudit(TeacherLeave record);
	/**
	 * 教师请假抄送人 教务员、当前年级的年级主任，级长、科组长
	 * @param grade
	 * @return
	 */
	List<TeacherInfo> selectTeacherLeaveCcer(Integer grade);
	/**
	 * 教师请假审批人 人事副校长、当前年级主任
	 * @param grade
	 * @return
	 */
	List<TeacherInfo> selectTeacherLeaveApprover(Integer grade);
	/**
	 * 教师请假审批人
	 * @param teacherId
	 * @return
	 */
	boolean isTeacherLeaveApprover(Integer teacherId);
	/**
	 * 教师请假抄送人
	 * @param teacherId
	 * @return
	 */
	boolean isTeacherLeaveCcer(Integer teacherId);
}
